package com.punai.monthanalysis.domain;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.punai.common.utils.Decimal3Serializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.punai.common.annotation.Excel;
import com.punai.common.core.domain.BaseEntity;

/**
 * 材料总量控制情况对象 pro_ydcbfx_clzlkzqkb
 *
 * @author zxw_
 * @date 2023-04-19
 */
public class ProYdcbfxClzlkzqkb extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private String id;
    /**
     * 项目ID
     */
    @Excel(name = "项目ID")
    private String proId;

    /**
     * 期次
     */
    @Excel(name = "期次")
    private String qc;

    /**
     * 上级ID
     */
    @Excel(name = "上级ID")
    private String pid;
    /**
     * 序号
     */
    @Excel(name = "序号")
    private Integer xh;
    /**
     * 材料分类
     */
    @Excel(name = "材料分类")
    private String itemName;
    /**
     * 规格
     */
    @Excel(name = "规格")
    private String spec;
    /**
     * 单位
     */
    @Excel(name = "单位")
    private String unit;
    /**
     * 实际控制总数量（目标成本量）
     */
    @Excel(name = "实际控制总数量", readConverterExp = "目=标成本量")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal slkzzlmbcb;
    /**
     * 单价
     */
    @Excel(name = "单价")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal price;
    /**
     * 金额
     */
    @Excel(name = "金额")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal total;
    /**
     * 本月消耗数量
     */
    @Excel(name = "本月消耗数量")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal currmonthxhsl;
    /**
     * 本月消耗金额
     */
    @Excel(name = "本月消耗金额")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal currmonthxhje;
    /**
     * 累计消耗数量
     */
    @Excel(name = "累计消耗数量")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal klmonthxhsl;
    /**
     * 累计消耗金额
     */
    @Excel(name = "累计消耗金额")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal klmonthxhje;
    /**
     * 节超数量（累计）
     */
    @Excel(name = "节超数量", readConverterExp = "累=计")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal kljcsl;
    /**
     * 节超金额（累计）
     */
    @Excel(name = "节超金额", readConverterExp = "累=计")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal kljcje;

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public String getQc() {
        return qc;
    }

    public void setQc(String qc) {
        this.qc = qc;
    }

    public void setProId(String proId) {
        this.proId = proId;
    }

    public String getProId() {
        return proId;
    }

    public void setPid(String pid) {
        this.pid = pid;
    }

    public String getPid() {
        return pid;
    }

    public Integer getXh() {
        return xh;
    }

    public void setXh(Integer xh) {
        this.xh = xh;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public String getItemName() {
        return itemName;
    }

    public void setSpec(String spec) {
        this.spec = spec;
    }

    public String getSpec() {
        return spec;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getUnit() {
        return unit;
    }

    public void setSlkzzlmbcb(BigDecimal slkzzlmbcb) {
        this.slkzzlmbcb = slkzzlmbcb;
    }

    public BigDecimal getSlkzzlmbcb() {
        return slkzzlmbcb;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setTotal(BigDecimal total) {
        this.total = total;
    }

    public BigDecimal getTotal() {
        return total;
    }

    public void setCurrmonthxhsl(BigDecimal currmonthxhsl) {
        this.currmonthxhsl = currmonthxhsl;
    }

    public BigDecimal getCurrmonthxhsl() {
        return currmonthxhsl;
    }

    public void setCurrmonthxhje(BigDecimal currmonthxhje) {
        this.currmonthxhje = currmonthxhje;
    }

    public BigDecimal getCurrmonthxhje() {
        return currmonthxhje;
    }

    public void setKlmonthxhsl(BigDecimal klmonthxhsl) {
        this.klmonthxhsl = klmonthxhsl;
    }

    public BigDecimal getKlmonthxhsl() {
        return klmonthxhsl;
    }

    public void setKlmonthxhje(BigDecimal klmonthxhje) {
        this.klmonthxhje = klmonthxhje;
    }

    public BigDecimal getKlmonthxhje() {
        return klmonthxhje;
    }

    public void setKljcsl(BigDecimal kljcsl) {
        this.kljcsl = kljcsl;
    }

    public BigDecimal getKljcsl() {
        return kljcsl;
    }

    public void setKljcje(BigDecimal kljcje) {
        this.kljcje = kljcje;
    }

    public BigDecimal getKljcje() {
        return kljcje;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("proId", getProId())
                .append("pid", getPid())
                .append("xh", getXh())
                .append("itemName", getItemName())
                .append("spec", getSpec())
                .append("unit", getUnit())
                .append("slkzzlmbcb", getSlkzzlmbcb())
                .append("price", getPrice())
                .append("total", getTotal())
                .append("currmonthxhsl", getCurrmonthxhsl())
                .append("currmonthxhje", getCurrmonthxhje())
                .append("klmonthxhsl", getKlmonthxhsl())
                .append("klmonthxhje", getKlmonthxhje())
                .append("kljcsl", getKljcsl())
                .append("kljcje", getKljcje())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
